home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 21 / Cream of the Crop 21 (Terry Blount) (October 1996).iso / os2 / sio157.zip / SIOUSER.TXT < prev    next >
Text File  |  1996-08-27  |  74KB  |  1,605 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                                   USERS MANUAL
  24.  
  25.             SIO.SYS and VSIO.SYS, Serial Communications Device Driver
  26.             for OS/2 V2 (and up) and its Virtual DOS Machines (VDM).
  27.  
  28.                      Copyright (c) 1995 by Raymond L. Gwinn
  29.                                 26 Tanager Place
  30.                           Beckley, West Virginia 25801
  31.                                All Rights Reserved
  32.  
  33.                                  August 15, 1996
  34.  
  35.                                       Email
  36.                               CompuServe 72662,3547
  37.                              Internet ray@gwinn.com
  38.  
  39.                            VOICE ORDERS 1-304-255-7900
  40.                                FAX 1-304-255-7902
  41.                         BBS 1-255-7903 or vmbbs.gwinn.com
  42.                             WEB http://www.gwinn.com
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                   INTRODUCTION
  66.  
  67.      SIO.SYS and VSIO.SYS are companion device drivers for Version 2 (and
  68.      up) of the OS/2 operating system.
  69.  
  70.      Both drivers (SIO/VSIO) have been coded with performance in mind,
  71.      possibly sacrificing some compatibility.  For this reason, SIO and
  72.      VSIO are not exact replacements for the OS/2 drivers COM and VCOM. 
  73.      However, all serial communications programs tested by the author work
  74.      correctly using SIO/VSIO.
  75.  
  76.      This manual is intended for the SIO user.  A separate SIO Technical
  77.      Reference Manual is included in the distribution zip.  The Technical
  78.      Reference Manual also documents some advanced options and features
  79.      that are not documented here.
  80.  
  81.      This manual and the software distributed with it is provided with no
  82.      guarantees.  Use it at your own risk.
  83.  
  84.  
  85.  
  86.  
  87.                                                                          ii
  88.  
  89.                                 TABLE OF CONTENTS
  90.  
  91.  
  92.      INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . . . .    i
  93.           SIO Technical Reference Manual . . . . . . . . . . . . . . .    i
  94.  
  95.      WHAT IS SIO . . . . . . . . . . . . . . . . . . . . . . . . . . .    1
  96.  
  97.      WHAT IS VSIO  . . . . . . . . . . . . . . . . . . . . . . . . . .    2
  98.  
  99.      DISTRIBUTION AND SUPPORT  . . . . . . . . . . . . . . . . . . . .    3
  100.           Distribution and Ordering  . . . . . . . . . . . . . . . . .    3
  101.                SIO Distribution and Support BBS  . . . . . . . . . . .    3
  102.           Support  . . . . . . . . . . . . . . . . . . . . . . . . . .    3
  103.                OS/2 Vendor Forum on
  104.                     CompuServe . . . . . . . . . . . . . . . . . . . .    3
  105.           Updates  . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  106.  
  107.      GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . .    5
  108.           Installing SIO/VSIO  . . . . . . . . . . . . . . . . . . . .    5
  109.           Quick Start  . . . . . . . . . . . . . . . . . . . . . . . .    5
  110.  
  111.      COMMAND LINE OPTIONS  . . . . . . . . . . . . . . . . . . . . . .    6
  112.           COM1 thru
  113.                COMn  . . . . . . . . . . . . . . . . . . . . . . . . .    6
  114.           I/O port address . . . . . . . . . . . . . . . . . . . . . .    6
  115.           IRQ number . . . . . . . . . . . . . . . . . . . . . . . . .    6
  116.           Forced 16550A  . . . . . . . . . . . . . . . . . . . . . . .    6
  117.  
  118.      Development and Debugging Tools . . . . . . . . . . . . . . . . .    8
  119.           The Poor Man's Line Monitor (PMLM.EXE) . . . . . . . . . . .    8
  120.           VIEWPMLM.EXE . . . . . . . . . . . . . . . . . . . . . . . .    9
  121.           SIO's Utility (SU.EXE) . . . . . . . . . . . . . . . . . . .    9
  122.                IRQs that are currently free  . . . . . . . . . . . . .    9
  123.  
  124.      Intelligent Cards Supported . . . . . . . . . . . . . . . . . . .   10
  125.           Hayes ESP  . . . . . . . . . . . . . . . . . . . . . . . . .   10
  126.                ESP in Compatibility Mode . . . . . . . . . . . . . . .   10
  127.           Telcor Tport . . . . . . . . . . . . . . . . . . . . . . . .   10
  128.  
  129.      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  130.  
  131.      AUTOMATIC IRQ ASSIGNMENT  . . . . . . . . . . . . . . . . . . . .   11
  132.  
  133.      DOS SETTINGS  . . . . . . . . . . . . . . . . . . . . . . . . . .   12
  134.           SIO_Allow_Access_COMn  . . . . . . . . . . . . . . . . . . .   12
  135.           SIO_Virtualize_COM_Ports . . . . . . . . . . . . . . . . . .   12
  136.           SIO_Virtualize_16550A  . . . . . . . . . . . . . . . . . . .   12
  137.           SIO_Share_Access_With_OS/2 . . . . . . . . . . . . . . . . .   12
  138.           SIO_Screen_Sync_Kludge . . . . . . . . . . . . . . . . . . .   13
  139.           SIO_Mode_DTR . . . . . . . . . . . . . . . . . . . . . . . .   13
  140.           SIO_Mode_IDSR  . . . . . . . . . . . . . . . . . . . . . . .   14
  141.           SIO_Mode_OCTS  . . . . . . . . . . . . . . . . . . . . . . .   15
  142.           SIO_Mode_ODSR  . . . . . . . . . . . . . . . . . . . . . . .   15
  143.           SIO_Mode_RTS . . . . . . . . . . . . . . . . . . . . . . . .   15
  144.  
  145.  
  146.  
  147.  
  148.                                                                         iii
  149.  
  150.           SIO_Mode_XON/XOFF  . . . . . . . . . . . . . . . . . . . . .   16
  151.           SIO_Mode_FIFO_Load_Count . . . . . . . . . . . . . . . . . .   17
  152.  
  153.      Configuration Profiles  . . . . . . . . . . . . . . . . . . . . .   18
  154.           Seiko Smart Label Printer  . . . . . . . . . . . . . . . . .   18
  155.           IBM's SLIP . . . . . . . . . . . . . . . . . . . . . . . . .   18
  156.  
  157.      Differences between SIO/VSIO and COM/VCOM . . . . . . . . . . . .   19
  158.  
  159.      PROBLEMS AND SOLUTIONS  . . . . . . . . . . . . . . . . . . . . .   21
  160.           IRQ for a port appears to be wrong . . . . . . . . . . . . .   21
  161.           The modem will not initialize  . . . . . . . . . . . . . . .   21
  162.           WinFax locks up during install . . . . . . . . . . . . . . .   21
  163.           Telemate does not recognize VX00 as a FOSSIL . . . . . . . .   21
  164.           Comm output is very slow from DOS  . . . . . . . . . . . . .   21
  165.            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   21
  166.           Procomm stops receiving  . . . . . . . . . . . . . . . . . .   22
  167.           Procomm For Windows download errors  . . . . . . . . . . . .   22
  168.           WinFax does not work well. . . . . . . . . . . . . . . . . .   23
  169.                Class 1 FAX modem . . . . . . . . . . . . . . . . . . .   23
  170.                Class 2 FAX modem . . . . . . . . . . . . . . . . . . .   23
  171.           Serial Printer messes up on last page. . . . . . . . . . . .   23
  172.  
  173.      IRQ SHARING ON ISA  . . . . . . . . . . . . . . . . . . . . . . .   24
  174.  
  175.      Appendix A, Hardware Port and IRQ Assignments . . . . . . . . . .   25
  176.           Addresses and IRQs for COM1 and COM2 . . . . . . . . . . . .   25
  177.           Defacto standard for COM3 and COM4 . . . . . . . . . . . . .   25
  178.           Addresses and IRQ for COM3 through COM8 on the PS/2  . . . .   25
  179.  
  180.      Appendix B, SIO Chips . . . . . . . . . . . . . . . . . . . . . .   26
  181.           8250 . . . . . . . . . . . . . . . . . . . . . . . . . . . .   26
  182.           8250A  . . . . . . . . . . . . . . . . . . . . . . . . . . .   26
  183.           16450  . . . . . . . . . . . . . . . . . . . . . . . . . . .   26
  184.           16C451 . . . . . . . . . . . . . . . . . . . . . . . . . . .   27
  185.           16550 (Non A)  . . . . . . . . . . . . . . . . . . . . . . .   27
  186.           16550A . . . . . . . . . . . . . . . . . . . . . . . . . . .   27
  187.           16550AF  . . . . . . . . . . . . . . . . . . . . . . . . . .   27
  188.           16550AFN . . . . . . . . . . . . . . . . . . . . . . . . . .   27
  189.           16550s Made by Western Digital . . . . . . . . . . . . . . .   28
  190.           16C551 . . . . . . . . . . . . . . . . . . . . . . . . . . .   28
  191.           16C552 . . . . . . . . . . . . . . . . . . . . . . . . . . .   28
  192.           16C554 . . . . . . . . . . . . . . . . . . . . . . . . . . .   28
  193.           82510  . . . . . . . . . . . . . . . . . . . . . . . . . . .   28
  194.           16650  . . . . . . . . . . . . . . . . . . . . . . . . . . .   29
  195.           ComBic . . . . . . . . . . . . . . . . . . . . . . . . . . .   30
  196.  
  197.      Appendix C, Multi-Port Serial I/0 Cards . . . . . . . . . . . . .   31
  198.           STB 4COM . . . . . . . . . . . . . . . . . . . . . . . . . .   31
  199.           Connect Tech Dflex-8 . . . . . . . . . . . . . . . . . . . .   31
  200.           Gtek BBS550  . . . . . . . . . . . . . . . . . . . . . . . .   32
  201.           Neotech Quad Serial  . . . . . . . . . . . . . . . . . . . .   32
  202.  
  203.      INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   33
  204.  
  205.  
  206.  
  207.  
  208.                                                                           1
  209.  
  210.                                    WHAT IS SIO
  211.  
  212.      SIO is a Serial Input/Output (SIO) communications driver.  It provides
  213.      an interface between application programs and the serial
  214.      communications hardware.
  215.  
  216.      SIO had been designed as a high performance replacement for the OS/2
  217.      device driver COM.SYS.  See the Technical Reference Manual for
  218.      information about the known differences between COM.SYS and SIO.SYS.
  219.  
  220.      SIO works with 8250 (type) serial I/O devices.  Such devices include,
  221.      but are not limited to the 8250A, 16450, 16550, 16550A and the 82510. 
  222.      If you have a PC that is an IBM or near compatible which has a serial
  223.      communication port, it is likely that it contains one of these
  224.      devices.  In addition, SIO supports some intelligent serial I/O cards. 
  225.      See "Intelligent Cards Supported" for additional information.  SIO
  226.      will identify the type of serial devices that it finds and display
  227.      them at load time.
  228.  
  229.      Like other Device Drivers, SIO will do very little standing alone. 
  230.      There must be an application(s) program that makes use of SIO's
  231.      functions before one will benefit from SIO.
  232.  
  233.  
  234.  
  235.  
  236.                                                                           2
  237.  
  238.                                   WHAT IS VSIO
  239.  
  240.      VSIO is a Virtual Device Driver (VDD).  Virtual device drivers provide
  241.      services for DOS programs executing under OS/2.  Most Virtual Device
  242.      Drivers emulate a specific hardware device and/or BIOS service.  The
  243.      primary job of a Virtual Device Driver is to convert misbehaved DOS
  244.      input/output into well behaved input/output that can be accepted by
  245.      the OS/2 driver SIO.SYS.
  246.  
  247.      Using the protection mechanism of the 386 (and up) processor, a
  248.      Virtual Device Driver can instruct OS/2 to trap all input/output for
  249.      given hardware ports.  Once trapped, the Virtual Device Driver (VDD)
  250.      appropriately routes information to/from the Physical Device Driver
  251.      (PDD) and to/from the DOS program.
  252.  
  253.      VSIO creates a virtual (imaginary) 16550A or 16450 (UART) in software. 
  254.      Additionally VSIO emulates the BIOS INT 14h services.  All of the
  255.      hardware registers of the virtual UART are simulated by VSIO.  VSIO
  256.      does not attempt to simulate the timing of the real UARTs.  DOS
  257.      programs that depend on the timing of real hardware UARTs may have
  258.      problems executing under VSIO.
  259.  
  260.      All DOS programs that execute under VSIO should have RTS/CTS
  261.      handshaking enabled (in the application) even if SIO proper is not
  262.      using RTS/CTS handshake.  
  263.  
  264.      The virtualization (simulation) provided by VSIO is not (and can not
  265.      be) exact.  However, most well written DOS programs should not have
  266.      problems.
  267.  
  268.      VSIO will only work with SIO installed and the versions of SIO/VSIO
  269.      must match.  If VSIO refuses to install, you most likely have a
  270.      version mismatch or COM.SYS is still installed.  VSIO will not work
  271.      with any other device driver like COM.SYS.
  272.  
  273.  
  274.  
  275.  
  276.                                                                           3
  277.  
  278.                             DISTRIBUTION AND SUPPORT
  279.  
  280.      Distribution and Ordering
  281.      The entire package collectively known as SIO is ShareWare.  It is not
  282.      free software or freeware.  See LICENSE.TXT and ORDER.TXT for
  283.      additional information.  The ShareWare version of SIO is distributed
  284.      electronically and supports only 4 ports (registered versions can be
  285.      ordered supporting up to 16 ports).  One may check their favorite
  286.      electronic hangout for the latest version of SIO.  The latest copy of
  287.      the ShareWare version is always posted for downloading from the BBS at
  288.      1-304-255-7903 or vmbbs.gwinn.com and www.gwinn.com
  289.  
  290.      Registered versions of SIO are distributed by US Mail, electronically
  291.      mail and from the SIO Distribution and Support BBS.  Users desiring to
  292.      register electronically, may call the BBS and register on line (1-304-
  293.      255-7903 or vmbbs.gwinn.com) or www.gwinn.com and immediately download
  294.      their registered version of SIO.  Use the ORDER command at the main
  295.      BBS prompt.
  296.  
  297.      Registrations/Orders can also be placed by phone, mail, FAX, and
  298.      email.  See the front cover of this manual for the phone numbers and
  299.      addresses.  Also see ORDER.TXT for and order form that may be used.
  300.  
  301.      Support
  302.      Extensive testing has been done to insure that this product works on
  303.      the widest possible range of OS/2 V2 (and up) systems.  In most cases,
  304.      problems can be resolved by reading this manual carefully.
  305.  
  306.      Support is provided in section 4 of the OS/2 Vendor Forum on
  307.      CompuServe (GO OS2BVEN).  Section 4 of the OS2BVEN Forum is dedicated
  308.      to the support of SIO.
  309.  
  310.      In addition, support is provided by BBS, Email and FAX.  Voice support
  311.      would overwhelm the author and is not available.  If, after reading
  312.      the manual carefully, you are unable to resolve a problem, you may
  313.      submit a problem report to one of the following: 
  314.                                       Email
  315.                               CompuServe 72662,3547
  316.                              Internet ray@gwinn.com
  317.                                FAX 1-304-255-7902
  318.                       BBS 1-304-255-7903 or vmbbs.gwinn.com
  319.  
  320.      Users should note that Support does not always result in a correction
  321.      of a problem.  In addition, the support provided is support of SIO,
  322.      and not the applications that use SIO.  Questions and/or problems
  323.      about applications programs (such as terminal or FAX programs) should
  324.      be directed to the available support for the application.
  325.  
  326.  
  327.  
  328.  
  329.                                                                           4
  330.  
  331.  
  332.      Updates
  333.  
  334.      In general, updates/upgrades of SIO are free of charge for all
  335.      releases of SIO with the same major version number.  However, there
  336.      may be a handling charge if the user requires the upgrade to be mailed
  337.      or emailed.
  338.  
  339.      Registered users of SIO can update to the latest version FREE of
  340.      charge using the BBS and its UPDATE command.  Be sure to have your SIO
  341.      serial number when you first log onto the BBS.  All variations (number
  342.      of ports) of SIO are available for immediate download from the BBS by
  343.      registered users.
  344.  
  345.      Users that have a registered copy of SIO can also use REREG.EXE to
  346.      transfer the registration information to a new version of SIO.  Simply
  347.      unzip the new SIO files into a temporary directory, change to that
  348.      directory, execute REREG and answer the questions.  After doing the
  349.      above, all of the files in the temporary directory will have been
  350.      registered.  You must then copy all the SYS and EXE files from the
  351.      temporary directory to their normal directory (overlaying the old
  352.      registered version) or execute the SIO install program (INSTALL.EXE). 
  353.      Then you must reboot.  You may also want to check your CONFIG.SYS for
  354.      the path of the SIO/VSIO being loaded and make sure both the new ones
  355.      are being loaded.
  356.  
  357.      If REREG will not transfer your registration information from a
  358.      previous version of SIO to the new version, then an upgrade must be
  359.      ordered on disk or obtained from the support BBS.
  360.  
  361.  
  362.  
  363.  
  364.                                                                           5
  365.  
  366.                                  GETTING STARTED
  367.  
  368.      Installing SIO/VSIO
  369.  
  370.      SIO is distributed as a ZIP file.  To extract the individual files
  371.      from the distribution file you need the program PKUNZIP or an
  372.      equivalent.  PKUNZIP is a product of PKWARE and can be downloaded from
  373.      almost any bulletin board system (BBS).  You probably already have
  374.      PKUNZIP and know how to use it, otherwise I doubt that you would be
  375.      reading this.  When PKUNZIP is used to extract the various files, -AV
  376.      should appear after each file name as it is extracted.  In addition,
  377.      the message:
  378.  
  379.           Authentic files Verified!
  380.  
  381.      should appear after the extraction process.  If this message does not
  382.      appear, or appears with a name other than Raymond L. Gwinn, the file
  383.      is not an original SIO distribution file.
  384.  
  385.      The only file that the basic user actually needs is SIO.SYS.  Virtual
  386.      DOS machine (VDM) users will also want VSIO.SYS.  Copy one or both of
  387.      these files to a convenient directory or subdirectory on your system. 
  388.      An installation program (INSTALL.EXE) is provided to install the SIO
  389.      files and modify your CONFIG.SYS
  390.  
  391.      Quick Start
  392.  
  393.      Create a temporary directory, change into that directory and unzip the
  394.      SIO distribution zip there.  Type INSTALL followed by the enter key. 
  395.      For a basic setup, that is all that is needed.
  396.  
  397.      If you choose to install SIO manually, the following should be done.
  398.  
  399.      BE SURE THAT ANY SERIAL MOUSE DRIVER APPEARS IN THE CONFIG.SYS BEFORE
  400.      SIO.SYS
  401.  
  402.      If you are going to use standard communications ports, either COM1 or
  403.      COM2 on an ISA bus (AT or clone), or COM1 through COM4 on a PS/2, then
  404.      add the following line to your CONFIG.SYS file:
  405.  
  406.           DEVICE=SIO.SYS
  407.           DEVICE=VSIO.SYS
  408.  
  409.      Be sure to REMark out the COM.SYS and VCOM.SYS device drivers if they
  410.      exist in your CONFIG.SYS.
  411.  
  412.      With the above statements you will be able to use standard COM1 and/or
  413.      COM2 (if they exist) on any PC system known to the author.
  414.  
  415.      If your setup is more complex, you must read on.
  416.  
  417.  
  418.  
  419.  
  420.                                                                           6
  421.  
  422.                               COMMAND LINE OPTIONS
  423.  
  424.      The command line options are included in the command line that loads
  425.      SIO in the CONFIG.SYS file.  VSIO has no command line options. 
  426.      Command line options are usually grouped by port within parenthesis.
  427.  
  428.      If you use only COM1 and/or COM2, at the standard IRQ and port
  429.      addresses, you will not need any command line options.  However, up to
  430.      four serial communications ports, COM1 thru COM4, can be specified at
  431.      any base port address and any IRQ.  On PS/2 systems and some ISA
  432.      cards, SIO/VSIO supports multiple communications devices sharing the
  433.      same IRQ.
  434.  
  435.      The basic command line syntax is as follows:
  436.  
  437.           DEVICE=SIO.SYS (Cn, An, In, Ig, Fc) [(Cn, An, In, Ig, Fc)]
  438.  
  439.      Where
  440.           "Cn" is the comm port number (1 thru 4) or the string COM1 thru
  441.           COMn.  The port number may preceeded by an asterisk "*" to
  442.           indicate that the port may be used as a PCMCIA comm port (eg *1
  443.           or *COM1).  Note that it is normal for SIO to display a warning
  444.           about not finding anything at PCMCIA ports.
  445.  
  446.           "An" is a hexadecimal number that defines the base hardware I/O
  447.           port address for the communications port.  If this field is left
  448.           blank, the default I/O port address is used for the comm port. 
  449.           Note that default I/O addresses exist only for COM1 through COM4
  450.           on AT type systems and for COM1 through COM8 on PS/2 systems.
  451.  
  452.           "In" is an IRQ number (0 thru 15) or the string IRQ0 thru IRQ15
  453.           or the string NONE.  It is best if one leaves this field blank
  454.           and allows SIO to determine the IRQ, see AUTOMATIC IRQ ASSIGNMENT
  455.           below.  The IRQ choice of NONE is provided for cards that can
  456.           work either with or without an IRQ like the Hayes ESP.
  457.  
  458.           "Ig" is an ignored parameter.  If exists for compatibility with
  459.           COM.SYS.
  460.  
  461.           "Fc" is the Forced 16550A chip parameter.  If an F is placed in
  462.           this position, a 16550A UART chip type is forced regardless of
  463.           the automatically detected chip type.
  464.  
  465.  
  466.  
  467.  
  468.                                                                           7
  469.  
  470.  
  471.      For a PC with COM1 and COM2 of standard configuration, the following
  472.      command line will load SIO correctly:
  473.  
  474.           DEVICE=SIO.SYS (1, 3F8, 4) (2, 2f8, 3)
  475.  
  476.      A more readable, but identical, command line is:
  477.  
  478.           DEVICE=SIO.SYS (COM1,3F8,IRQ4) (COM2,2F8,IRQ3)
  479.  
  480.      Forcing a 16550A on COM1 would be as follows:
  481.  
  482.           DEVICE=SIO.SYS (COM1,3F8,IRQ4,,F) (COM2,2F8,IRQ3)
  483.  
  484.      In a similar manner, up to sixteen serial communications ports (four
  485.      in the Shareware version) can be defined and supported by SIO and
  486.      VSIO.
  487.  
  488.  
  489.  
  490.  
  491.                                                                           8
  492.  
  493.                          Development and Debugging Tools
  494.  
  495.      The Poor Man's Line Monitor (PMLM.EXE)
  496.  
  497.      PMLM is basically of interest to developers of comm applications and
  498.      those providing technical support for those applications.  This SIO
  499.      utility is released largely (in self defense) in the hope that some
  500.      users can diagnose their own problems.  PMLM's feature of saving trace
  501.      information to disk will only work with registered and beta versions
  502.      of SIO.
  503.  
  504.      PMLM provides basic line monitoring for OS/2, DOS and Windows comm
  505.      programs.  All characters sent or received by application programs are
  506.      displayed in the upper portion of the screen.  Receive characters are
  507.      displayed as "white on blue" and transmitted characters are displayed
  508.      "yellow on violet".  Line signals, such as CTS are displayed as "dim
  509.      white on red" when turned off and "bright white on red" when turned
  510.      on.  In addition, a signal's transition to OFF is displayed in lower
  511.      case and a signal's transition to ON is displayed in upper case.
  512.  
  513.      Status information is displayed in the lower part of the screen.  A
  514.      bright white display means the signal is on, a dim white indicates
  515.      that the signal is off.  In addition, when bright,  Rxoff and Txoff
  516.      indicate the SIO has sent (Txoff) or received (Rxoff) an Xoff, and an
  517.      Xon is pending.
  518.  
  519.      When a DOS or Windows session uses a comm port, an additional line of
  520.      signal status appears.  This status line shows the state of the
  521.      virtual UART's signals.  Only the signals which MAY be different from
  522.      the real UART's signals are shown.
  523.  
  524.      "Rx Chars" and "Tx Chars" reflects the number of characters in SIO's
  525.      receive and transmit buffers respectively.
  526.  
  527.      The last line on the screen shows the keys (from the keyboard) that
  528.      PMLM will recognize.  The bright character shows the key to hit for
  529.      the associated function.  The font keys will not work in a windowed
  530.      OS/2 session.
  531.  
  532.      PMLM's command line requires one parameter, the comm port number, and
  533.      optionally accepts an additional parameter giving a save trace file
  534.      name.  For example, PMLM 1 COM1INFO.TRC will monitor COM1 and save ALL
  535.      of the communications traffic in the file COM1INFO.TRC.  The trace
  536.      files created by PMLM contain exactly the same information that is
  537.      displayed by PMLM, video attributes and all.
  538.  
  539.  
  540.  
  541.  
  542.                                                                           9
  543.  
  544.  
  545.      VIEWPMLM.EXE may be used to view trace files created by PMLM. 
  546.      VIEWPMLM.EXE requires one parameter, the trace file name.  The user
  547.      can use the keys UP, DOWN, PAGEUP, PAGEDOWN, HOME, and END to navigate
  548.      the saved trace file.  Registered SIO users may send VIEWPMLM.EXE
  549.      (along with saved trace files) to anyone for technical support
  550.      purposes.
  551.  
  552.      VIEWPMLM can be used in native DOS, in DOS sessions under OS/2, and in
  553.      OS/2 sessions.  This means that even those developers and support
  554.      people need not have OS/2 to view the captured communications data
  555.      created by PMLM.
  556.  
  557.      SIO's Utility (SU.EXE)
  558.  
  559.      This utility program has several useful commands.  You can obtain a
  560.      list of the available commands by typing SU at any command line prompt
  561.      without any parameters.  One very useful command is SU IRQS.  This
  562.      command will show IRQs that are currently free for use.  Commands are
  563.      provided allowing user control (missing from MODE) are available. 
  564.      Status commands provide a wealth of diagnostic information.
  565.  
  566.  
  567.  
  568.  
  569.                                                                          10
  570.  
  571.                            Intelligent Cards Supported
  572.  
  573.  
  574.      Hayes ESP
  575.  
  576.      The original ESP (ESP V1) is not supported.  The SIO command line must
  577.      contain the ESP's enhanced I/O port address.  For bit rates exceeding
  578.      180000bps the IRQ MUST be specified for the master port. For lower
  579.      data rates NONE may be specified for the IRQ.  SIO does not search for
  580.      the ESP ports as the Hayes drivers do under DOS/Windows.  This
  581.      searching can (will) break things under OS/2.  The SIO command line
  582.      for an ESP at I/O port 180h using IRQ14 would be as follows:
  583.  
  584.      DEVICE=path\SIO.SYS (COM1,180,IRQ14) (COM2,188,NONE)
  585.  
  586.      If you would like the above reflected to DOS sessions as a standard
  587.      COM1 and COM2, then use the following command line:
  588.  
  589.      DEVICE=path\SIO.SYS (COM1,180:3F8,IRQ14:IRQ4) (COM2,188:2F8,NONE:IRQ3)
  590.  
  591.      Note that the numbers after the colons ":" are the address and IRQ of
  592.      where the port appears to DOS software running under OS/2.  
  593.      Any IRQ specified for an ESP slave port is ignored.  For those that
  594.      like to have a clean looking CONFIG.SYS, SIO will accept NONE as the
  595.      IRQ specification of an ESP slave port.
  596.  
  597.      If you wish to use the ESP in Compatibility Mode, simply specify the
  598.      base port address that the ESP's compatibility mode is configured for
  599.      (ie 3F8 when configured for COM1).
  600.  
  601.      Telcor Tport
  602.  
  603.      The Telcor Tport is supported in both burst mode and 16450 emulation
  604.      mode.  When in burst mode, the Tport's 16k FIFOs are enabled. 
  605.      Additionally in burst mode, no IRQ is used by the Tport.  In burst
  606.      mode, any IRQ specified for the Tport is ignored.  For those that like
  607.      to have a clean looking CONFIG.SYS, SIO will accept NONE as the IRQ
  608.      specification of a Tport.  An example command line defining a Tport
  609.      card to be used in burst mode; and that is configured for COM1
  610.      follows:
  611.  
  612.      DEVICE=path\SIO.SYS (COM1,Tport@3F8,NONE:IRQ4)
  613.  
  614.      The Tport's 16450 Emulation mode simply uses a normal SIO command
  615.      line. eg:
  616.  
  617.      DEVICE=path\SIO.SYS (COM1,3F8,IRQ4:IRQ4)
  618.  
  619.      In both examples the "IRQ4" following the colon above, means that the
  620.      virtual IRQs are to be sent to a VDM on IRQ4.
  621.  
  622.  
  623.  
  624.  
  625.                                                                          11
  626.  
  627.  
  628.                             AUTOMATIC IRQ ASSIGNMENT
  629.  
  630.      SIO will automatically locate the IRQ that a comm port is attached to. 
  631.      The IRQ used by SIO for a given comm port is assigned in the following
  632.      manner:
  633.  
  634.      1 - If an IRQ is specified in the SIO command line then that IRQ is
  635.      used.  However, SIO will display a warning message if the IRQ seems to
  636.      be other than specified.
  637.  
  638.      2 - If no IRQ is specified in the command line, and if SIO detected
  639.      the IRQ then the detected IRQ is used.
  640.  
  641.      3 - If no IRQ is specified in the command, and if SIO could NOT detect
  642.      an IRQ then the default IRQ for the comm port is used.  SIO will also
  643.      display a warning message in this case.
  644.  
  645.      The following STYLE command line is recommended for all but the most
  646.      unusual systems.  That is, specify only the port number for those
  647.      above COM2 (to tell SIO to support those ports) and let SIO do the
  648.      rest.
  649.  
  650.      DEVICE=SIO.SYS (COM3) (COM4)
  651.  
  652.      If you do not have a COM3 or COM4, or if the mouse is using the only
  653.      comm port above COM2 then the following command line should be used.
  654.  
  655.      DEVICE=SIO.SYS
  656.  
  657.  
  658.  
  659.  
  660.                                                                          12
  661.  
  662.                                   DOS SETTINGS
  663.  
  664.      VSIO gets its operational characteristics from DOS Settings.  Several
  665.      basic DOS Settings are provided.  They specify the type of access (if
  666.      any) that a DOS program is to have to a communication port that SIO
  667.      controls.
  668.  
  669.      All of the DOS Settings default to what most users should use most of
  670.      the time (which is ON).  Also, all of the DOS Settings are prefixed
  671.      with SIO_.
  672.  
  673.      If any of the DOS settings are changed, then the DOS session must be
  674.      restarted from the Work Place Shell for the changed setting to take
  675.      affect.
  676.  
  677.      The provided DOS Settings and their meaning follow:
  678.  
  679.           "SIO_Allow_Access_COMn" (where n is 1 thru 4).  This DOS setting
  680.           defaults to ON.  If this setting is turned OFF for any or all of
  681.           the ports, the DOS program will not be allowed any access to that
  682.           port(s).
  683.  
  684.           "SIO_Virtualize_COM_Ports"  This Dos setting defaults to ON and
  685.           it applies to all communications ports used by the DOS session. 
  686.           When ON, this DOS setting means VSIO is to act as an interface
  687.           between the SIO and the DOS program.  When OFF, the DOS program
  688.           is given direct access to the hardware ports of the UART(s).
  689.  
  690.           "SIO_Virtualize_16550A"  This DOS setting defaults to ON and it
  691.           applies to all communications ports used by the DOS session. 
  692.           When ON, VSIO will simulate a 16550A.  When OFF, VSIO will
  693.           simulate a 16450.  Some DOS programs may not work when a 16550A
  694.           is simulated.  Turning this setting off may allow the program to
  695.           work (but slower).
  696.  
  697.           "SIO_Share_Access_With_OS/2"  This DOS setting defaults to ON and
  698.           it applies to all communications ports used by the DOS session. 
  699.           When ON, SIO will allow an OS/2 session to access a
  700.           communications port which the DOS session first opened (and has
  701.           not closed).  If set to OFF, then the DOS session will have
  702.           exclusive use of the communications port(s) that it uses.
  703.  
  704.           This setting does not apply to a second DOS session attempting to
  705.           access a communications port,  two different DOS sessions are
  706.           never allowed to access the same port at the same time. 
  707.           Additionally, this setting has no affect upon the access to a
  708.           communications port which is first opened by an OS/2 session.
  709.  
  710.  
  711.  
  712.  
  713.                                                                          13
  714.  
  715.  
  716.           "SIO_Screen_Sync_Kludge" DOS setting.  This DOS setting defaults
  717.           to off and it applies to all communications ports used by the DOS
  718.           session.  Some DOS BBS programs (such as Wildcat) and many DOS
  719.           Door programs attempt to synchronize the screen output with
  720.           transmitted data.  This plays havoc with a multi tasking system
  721.           like OS/2 and results in very slow transmitted data.  When this
  722.           setting is on, an attempt is made to fake out these misbehaved
  723.           programs and allow them to run at normal transmit speed.  This
  724.           setting should not be turned on unless you experience VERY slow
  725.           transmission from a DOS program.
  726.  
  727.      All of the DOS Settings that begin with "SIO_Mode"  allows one to
  728.      construct a MODE command for a DOS session.  These settings apply to
  729.      SIO proper, and not necessarily to the DOS program itself.  For
  730.      example, if you set XON/XOFF handshake with the appropriate SIO_Mode
  731.      setting, you are specifying that SIO is to implement the handshaking. 
  732.      The DOS application itself will be unaware of this handshaking.  This
  733.      can be very confusing, so think it through before you start changing
  734.      the defaults.
  735.  
  736.      The "SIO_Mode" settings WILL NOT BE APPLIED IF THE COMM PORT IS
  737.      ALREADY OPEN WHEN THE DOS SESSION FIRST ACCESSES THE COMM PORT.  This
  738.      means that the "SIO_Mode" settings will NOT be asserted for spawned
  739.      DOS comm programs.  That is, for spawned DOS comm programs, the mode
  740.      of operation that is already in effect will continue to be in effect
  741.      and the "SIO_Mode" settings are ignored.
  742.  
  743.           "SIO_Mode_DTR"  This setting has three options that specify how
  744.           SIO and VSIO are to treat the DTR signal.  The there available
  745.           option are:
  746.                     No Change at OPEN or CLOSE.
  747.                     Turn ON at OPEN, OFF at CLOSE.
  748.                     HandShake Signal, as in DTR/DSR.
  749.  
  750.                If either of the first two settings is selected, then
  751.                basically the DOS application has direct control over the
  752.                DTR signal.  If the second option is selected, then DTR will
  753.                be turned on by SIO when the DOS program first touches the
  754.                comm port.
  755.  
  756.                If the third option is selected, then SIO will use DTR as a
  757.                handshaking signal.  That is, DTR will be turned off if SIO
  758.                can not accept any further receive data.  In addition, if
  759.                the DOS application program turns off the Virtual DTR, VSIO
  760.                will stop supplying the DOS application with receive data.
  761.  
  762.  
  763.  
  764.  
  765.                                                                          14
  766.  
  767.  
  768.           "SIO_Mode_IDSR"  This setting specifies how SIO is to react to
  769.           received data and the DSR signal.  The two available options are:
  770.                     Ignore DSR During Receive.
  771.                     Required for Valid Receive Data.
  772.  
  773.                If the first option (the default) is selected, then SIO will
  774.                ignore DSR and accept all received data.  If the second
  775.                option is selected, then SIO will ignore received data when
  776.                the DSR signal is off.  VSIO ignores this DOS setting.
  777.  
  778.  
  779.  
  780.  
  781.                                                                          15
  782.  
  783.  
  784.           "SIO_Mode_OCTS"  This setting specifies how SIO will react to the
  785.           CTS signal when transmitting data.  The two available options
  786.           are:
  787.                     HandShake Signal, as in RTS/CTS.
  788.                     Ignore CTS During Transmit.
  789.  
  790.                If the first option (the default) is selected, then SIO will
  791.                not transmit data when the CTS signal is off.  If the second
  792.                option is selected, then SIO will ignore CTS during
  793.                transmit.  Note that this setting should be set to "Ignore"
  794.                for 3 wire connections like the Seiko Smart Label Printer,
  795.                and Laplink.  VSIO ignores this setting.
  796.  
  797.           "SIO_Mode_ODSR"  This setting specifies how SIO is to react to
  798.           the DSR signal during transmit.  The two available options are:
  799.                     Ignore DSR During Transmit.
  800.                     HandShake Signal, as in DTR/DSR.
  801.  
  802.                If the first option (the default) is selected, then SIO will
  803.                ignore DSR during transmit.  If the second option is
  804.                selected, then SIO will not transmit data when the DSR
  805.                signal is off.  VSIO ignores this setting.
  806.  
  807.  
  808.           "SIO_Mode_RTS" This setting has three options that specify how
  809.           SIO and VSIO are to treat the RTS signal.  The there available
  810.           option are:
  811.                     HandShake Signal, as in RTS/CTS.
  812.                     No Change at OPEN or CLOSE.
  813.                     Turn ON at OPEN, OFF at CLOSE.
  814.  
  815.                If either of the last two settings is selected, then
  816.                basically the DOS application has direct control over the
  817.                RTS signal.  If the last option is selected, then RTS will
  818.                be turned on by SIO when the DOS program first touches the
  819.                comm port.
  820.  
  821.                If the first option (the default) is selected, then SIO will
  822.                use RTS as a handshaking signal.  That is, RTS will be
  823.                turned off if SIO can not accept any further receive data. 
  824.                In addition, if the DOS application program turns off the
  825.                virtual RTS signal, VSIO will stop supplying the DOS
  826.                application with receive data.
  827.  
  828.  
  829.  
  830.  
  831.                                                                          16
  832.  
  833.  
  834.           "SIO_Mode_XON/XOFF"  This setting specifies if (and how) SIO is
  835.           to use XON/XOFF flow control.  The four options are:
  836.                     No XON/XOFF flow control by SIO.
  837.                     Received XON is flow control.
  838.                     Sent XON is flow control.
  839.                     Rcvd and Sent XON is flow control.
  840.  
  841.                The first option (the default) specifies that SIO is not to
  842.                use XON/XOFF flow control at all.  The second option
  843.                specifies that SIO is to treat received XON/XOFF as flow
  844.                control, but that SIO must not send XON/XOFF as flow control
  845.                characters.  The third option specifies that SIO may send
  846.                XON/XOFF as flow control characters, but that received
  847.                XON/XOFF characters are to be treated as normal data.  The
  848.                fourth option turns on XON/XOFF flow control in both
  849.                directions, meaning that all sent and received XON/XOFF
  850.                characters are flow control.
  851.  
  852.  
  853.  
  854.  
  855.                                                                          17
  856.  
  857.  
  858.           "SIO_Mode_FIFO_Load_Count"  This setting specifies how many
  859.           characters that SIO will load into a 16550A UART at one time. 
  860.           The choices are 1 and 16 (16 is the default).  The only case
  861.           known to the author where one would select a setting of 1, is
  862.           when very fast reaction to flow control is needed.  One such case
  863.           is the Seiko Smart Label Printer which uses XON/XOFF flow control
  864.           and a 3 wire connection.  If one is using a 16550 with a load
  865.           count of 16, then 16 additional characters may be sent after an
  866.           XOFF is received.  This condition will overrun the Seiko Printer. 
  867.           If the "Load Count" is set to 1, then SIO will transmit (at most)
  868.           two additional characters following a received XOFF which allows
  869.           the Seiko Printer to work.  A setting of 1 will cause additional
  870.           system overhead due to additional transmit interrupts.
  871.  
  872.  
  873.  
  874.  
  875.                                                                          18
  876.  
  877.  
  878.                              Configuration Profiles
  879.  
  880.      I will attempt to provide the DOS Settings that one should try for DOS
  881.      communications programs in this section.  The settings may not work on
  882.      all systems.  I will add to this section as I receive information from
  883.      users.  All DOS Settings that are not given should be at their
  884.      defaults.
  885.  
  886.      Seiko Smart Label Printer.
  887.           I tested the Seiko printer successfully using the following DOS
  888.           settings for SIO:
  889.  
  890.           SIO_Mode_DTR                No Change at OPEN or CLOSE
  891.           SIO_Mode_FIFO_Load_Count    1.
  892.           SIO_Mode_IDSR               Ignore DSR During Receive
  893.           SIO_Mode_OCTS               Ignore CTS During Transmit
  894.           SIO_Mode_ODSR               Ignore DSR During Transmit
  895.           SIO_Mode_RTS                No Change at OPEN or CLOSE
  896.           SIO_Mode_XON/XOFF"          Received XON is flow control
  897.  
  898.      In addition, you should run the printer in its own separate Win-OS/2
  899.      session.
  900.  
  901.      IBM's SLIP
  902.           I have been told by many users that a MODE command is required
  903.           for IBM's SLIP program to work correctly.  The recommended MODE
  904.           command is as follows:
  905.  
  906.           MODE DTR=ON
  907.  
  908.  
  909.  
  910.  
  911.                                                                          19
  912.  
  913.                     Differences between SIO/VSIO and COM/VCOM
  914.  
  915.      What follows is some of the differences between SIO/VSIO and COM/VCOM
  916.      that are known to the author.
  917.  
  918.      1 -  COM.SYS will automatically seek out and support four comm
  919.           ports, COM1 through COM4.  SIO.SYS will automatically seek
  920.           out and support only COM1 and COM2.  If SIO.SYS is to
  921.           support more than two comm ports, they must be defined in
  922.           the command line that loads SIO.SYS.  For example,
  923.           DEVICE=SIO.SYS (COM3) (COM4) will cause SIO.SYS to support
  924.           four comm ports.
  925.  
  926.      2 -  In the absence of overrides in the command line, COM.SYS
  927.           will seek out four comm ports in the sequence of I/O ports
  928.           3F8h, 2F8h, 3E8h and 2E8h.  The first port found in this
  929.           sequence is given the logical name COM1, the second is COM2
  930.           etc.  This means that the comm port at 2F8h could become
  931.           COM1.  In the opinion of the author, this confuses some
  932.           users to frustration.
  933.  
  934.           With no command line overrides, SIO.SYS uses a fixed I/O
  935.           port concept.  That is, COM1 is always at I/O port 3F8h,
  936.           COM2 is always at 2F8h, etc.  Another way of looking at this
  937.           is;  if no comm port exists at port 3F8h, then you do not
  938.           have a COM1.  SIO.SYS will not move another (found) comm
  939.           port into the logical COM1 slot.
  940.  
  941.      3 -  VSIO opens a comm port for a DOS session with sharing allowed. 
  942.           VCOM uses an "exclusive use" open for DOS sessions.
  943.  
  944.      4 -  SIO.SYS always controls the FIFOs of the 16550 UART.  SIO.SYS
  945.           will not allow an application program (OS2 or DOS) to disable the
  946.           FIFOs of a real 16550.  The application may specify the transmit
  947.           fifo load count.
  948.  
  949.      5 -  SIO.SYS will accept any number between 50 and 115200 (921600 if a
  950.           Hayes ESP) as a valid baud rate.  For example, if an application
  951.           program attempts to set a baud rate of 9990 bps, COM.SYS will
  952.           reject it and SIO.SYS will accept it.
  953.  
  954.      6 -  SIO/VSIO execute faster than COM/VCOM.  This means that some
  955.           applications, that are timing dependent, may not work under
  956.           SIO/VSIO that do work under COM/VCOM.
  957.  
  958.  
  959.  
  960.  
  961.                                                                          20
  962.  
  963.  
  964.      7 -  SIO/VSIO provides more reliable active flow control for DOS
  965.           sessions.  For example, if RTS/CTS handshaking is in use, VSIO
  966.           processes the RTS settings by the DOS program while SIO
  967.           completely controls the real RTS signal.  COM/VCOM simply passes
  968.           the RTS signal directly to the hardware.
  969.  
  970.      8 -  COM.SYS will block an application until a write completes.  SIO
  971.           will return to the application program immediately if all of the
  972.           write data will fit into SIO's internal buffers.
  973.  
  974.  
  975.  
  976.  
  977.                                                                          21
  978.  
  979.  
  980.                              PROBLEMS AND SOLUTIONS
  981.  
  982.      1 -  Port already in use is displayed.
  983.  
  984.           This message is displayed when the comm port or the IRQ is in
  985.           use.  If the comm port is not actually in use, the IRQ is most
  986.           likely in use.
  987.  
  988.      2 -  SIO displays a warning message that the IRQ for a port appears to
  989.           be wrong, but the port works.
  990.  
  991.           SIO probably detected more than one IRQ attached to the comm
  992.           port.  This indicates a possible hardware problem with your
  993.           system that you may want to have checked.
  994.  
  995.      3 - The modem will not initialize.
  996.  
  997.           Configure your comm program(s) to insert a delay between modem
  998.           initialization characters as they are sent to the modem.
  999.  
  1000.      4 - WinFax locks up during install.
  1001.  
  1002.           During the WinFax install, temporarily turn OFF the DOS setting
  1003.           SIO_Virtualize_COM_Ports.  Once installation is complete, the
  1004.           setting SIO_Virtualize_COM_Ports can be restored.
  1005.  
  1006.      5 - Telemate does not recognize VX00 as a FOSSIL.
  1007.  
  1008.           Set the baud rate in Telemate to less than 57600.
  1009.  
  1010.      6 -  Comm output is very slow from DOS.
  1011.  
  1012.           This is a problem common to many DOS BBS and Door programs.  They
  1013.           attempt to synchronize the local screen with the transmitted
  1014.           data.  That is, they send a character, wait until it is sent and
  1015.           then display the character on the local screen.  This does not
  1016.           cause a problem for the single tasking DOS environment.  However,
  1017.           this procedure causes at least two (probably more) context
  1018.           switches in the multi-tasking environment of OS2, which in turn
  1019.           brings the processor to its knees.  One possible solution is for
  1020.           the programmer to synchronize line by line instead of character
  1021.           by character.
  1022.  
  1023.  
  1024.  
  1025.  
  1026.                                                                          22
  1027.  
  1028.  
  1029.  
  1030.      7 -  Procomm stops receiving
  1031.  
  1032.           Procomm seems to have a bug in its implementation of RTS/CTS
  1033.           handshaking.  The problem shows up most often when Procomm is
  1034.           windowed.  Under certain conditions, Procomm will turn the
  1035.           virtual RTS OFF and does not turn it ON again.  This prevents
  1036.           VSIO from sending further data to Procomm if SIO_Mode_RTS is set
  1037.           for RTS/CTS handshake.  A solution to the problem that seems to
  1038.           work is to set SIO_Mode_RTS to other than RTS/CTS handshake. 
  1039.           Note that SIO_Mode_RTS should be set for RTS/CTS handshake under
  1040.           almost all other conditions.
  1041.  
  1042.      8 -  Procomm For Windows download errors
  1043.  
  1044.           You should find the file PW2.INI in you main WINDOWS directory. 
  1045.           Locate the statement DropRTSAroundDiskWrites=1 and change it to:
  1046.  
  1047.                DropRTSAroundDiskWrites=0
  1048.  
  1049.  
  1050.  
  1051.  
  1052.                                                                          23
  1053.  
  1054.  
  1055.      9 - WinFax does not work well.
  1056.  
  1057.           a- Connect problems with recipient's fax station
  1058.  
  1059.           b- Cannot send more than one page of a multiple page fax
  1060.  
  1061.           c- Transmission fails between pages
  1062.  
  1063.           d- Transmitted pages are corrupted, missing parts, or cut off.
  1064.  
  1065.           Class 1 FAX modem.
  1066.                     The modem init strings set by WinFax 3.0 will work in
  1067.                     the single-layered comm world of DOS and Windows. 
  1068.                     However, these modem init strings will not work in the
  1069.                     multi-layered comm environment used by OS/2. 
  1070.                     Specifically, WinFax 3.0 sets the modem to use only
  1071.                     Xon/Xoff flow control.  Ideally, both Xon/Xoff and
  1072.                     Hardware handshaking needs to be set.  If only one
  1073.                     handshake can be set, set the modem to Hardware
  1074.                     handshake.  For USR FAX modems, use &H3, for many other
  1075.                     modems, the setting is &K3.  Additionally, for WinFax
  1076.                     3.04 and up, place the following in your WINFAX.INI
  1077.                     file:
  1078.                          HdwFlowControl=1
  1079.  
  1080.           Class 2 FAX modem.
  1081.                     It seems to the author that hardware handshake screws
  1082.                     up some (possibly all) class 2 FAX modems.  Therefore,
  1083.                     when using a class 2 modem, WinFax should be configured
  1084.                     to use XON/XOFF handshaking.  For WinFax 3.04 and up,
  1085.                     place the following in your WINFAX.INI file:
  1086.                          HdwFlowControl=0
  1087.  
  1088.                     The author feels that the inability to use hardware
  1089.                     handshake with class 2 FAX modems is a serious design
  1090.                     deficiency.
  1091.  
  1092.      10 - Serial Printer messes up on last page.
  1093.  
  1094.           Add the following command line to your CONFIG.SYS file:
  1095.                RUN=MODE COM1 TO=ON
  1096.  
  1097.  
  1098.  
  1099.  
  1100.                                                                          24
  1101.  
  1102.                                IRQ SHARING ON ISA
  1103.  
  1104.      Sharing the same IRQ for multiple communications ports on ISA systems
  1105.      is not for the weak of heart (or mind).  If you have problems with
  1106.      shared IRQs, DO NOT contact the author.  Contact the board or computer
  1107.      manufacturer for help.
  1108.  
  1109.      Some general rules are as follows:
  1110.  
  1111.      1 - Two different boards (plugged into different slots) can not share
  1112.      the same IRQ.  This is a hardware limitation of ISA systems and can
  1113.      not be corrected by software.  This means that you can not plug in two
  1114.      internal modems, set them for the same IRQ and expect them to work. 
  1115.      This does not apply to PS/2 systems.  The problem of multiple boards
  1116.      sharing the same IRQ was corrected in the PS/2's bus design.
  1117.  
  1118.      2 - SIO can not (will not) share an IRQ with other device drivers at
  1119.      the same time.  SIO releases IRQs that it is currently not using. 
  1120.      This is different form how COM.SYS works.  This difference may show up
  1121.      as an unexpected "port already in use" error that does not occur with
  1122.      COM.SYS.  I have received reports that the SDLC drivers try to
  1123.      concurrently share IRQs with the ASYNC driver.  SIO.SYS will not allow
  1124.      this while COM.SYS will.
  1125.  
  1126.  
  1127.  
  1128.  
  1129.                                                                          25
  1130.  
  1131.                   Appendix A, Hardware Port and IRQ Assignments
  1132.  
  1133.      I have obtained the following information from various sources. 
  1134.      Accuracy is not guaranteed.  In fact, nothing in this document is
  1135.      guaranteed.
  1136.  
  1137.      Addresses and IRQs for COM1 and COM2
  1138.  
  1139.           COM1 uses 03F8h and IRQ4
  1140.           COM2 uses 02F8h and IRQ3
  1141.  
  1142.      Defacto standard for COM3 and COM4 for PC, XT and AT
  1143.  
  1144.           COM3 uses 03E8h and IRQ4
  1145.           COM4 uses 02E8h and IRQ3
  1146.  
  1147.      Addresses and IRQ for COM3 through COM8 on the PS/2
  1148.  
  1149.           COM3 uses 3220h and IRQ3
  1150.           COM4 uses 3228h and IRQ3
  1151.           COM5 uses 4220h and IRQ3
  1152.           COM6 uses 4228h and IRQ3
  1153.           COM7 uses 5220h and IRQ3
  1154.           COM8 uses 5228h and IRQ3
  1155.  
  1156.      All PCs (known to the author) prior to the PS/2 and EISA only use 10
  1157.      bits to address hardware I/0 ports.  Systems prior to the PS/2 and
  1158.      EISA can not address the standard PS/2 addresses for COM3 through
  1159.      COM8.  If an AT or below attempts to address COM3 through COM8 using
  1160.      the PS/2 addresses, only the low 10 bits of the address are used. 
  1161.      That is, the high digit of the hexadecimal address will be ignored. 
  1162.      This means that any reference to COM3 through COM8 will actually
  1163.      address ports 220h through 22Fh on older PCs.
  1164.  
  1165.      One should avoid expansion boards that use ports 220h through 22Fh
  1166.      unless the expansion board is a serial I/O board. 
  1167.  
  1168.      SIO will (attempt to) determine the hardware architecture (ISA/EISA
  1169.      and PS/2) that it is being executed on and use the appropriate
  1170.      hardware port addresses for COM1 thru COM4 as defaults.
  1171.  
  1172.  
  1173.  
  1174.  
  1175.                                                                          26
  1176.  
  1177.                               Appendix B, SIO Chips
  1178.  
  1179.  
  1180.      The following is a collection of comments developed from hearsay,
  1181.      random documents, experience, and technical specifications. So, take
  1182.      it with a grain of salt.  Order information from the various
  1183.      manufactures if you want accurate information.
  1184.  
  1185.      Very good reference books are available from National Semiconductor
  1186.      Corporation.  They cover most of the SIO devices (also called UARTs)
  1187.      that you will find in many PCs and clones.  I am not sure that books
  1188.      can be ordered directly from National semiconductor. They may require
  1189.      that you get it from a distributor.  In any case, the address on the
  1190.      back of the one manual is:
  1191.  
  1192.           National Semiconductor Corporation
  1193.           2900 Semiconductor Drive
  1194.           P.O. Box 58090
  1195.           Santa Clara, CA 95052-8090
  1196.  
  1197.           Tel:(408)721-5000
  1198.           TWX:(910)339-9240
  1199.  
  1200.      8250
  1201.  
  1202.      As best that I know, the 8250 was the first SIO chip (integrated
  1203.      circuit) that was used by the IBM PC and many clones.  In my opinion,
  1204.      it was a poor choice on the part of IBM.  I feel many superior
  1205.      devices, at comparable prices, were readily available.  At that time,
  1206.      I feel the 8251A or the 8530 would have been better choices.  But,
  1207.      they used the 8250 and therefore we must use it.
  1208.  
  1209.      From a hardware standpoint the 8250 is a relatively slow device.  It
  1210.      is advisable that programmers not perform successive inputs or outputs
  1211.      to this device.  It seems that software programs can load the various
  1212.      registers of the 8250 faster than it can process the information.  The
  1213.      8250 had a total of 7 registers.  The specifications state that 56kb
  1214.      is the maximum baud rate.
  1215.  
  1216.      8250A
  1217.  
  1218.      I believe the 8250A is the 8250 with some bug fixes.  I have no idea
  1219.      what the bugs may have been.  A quick glance at the specifications
  1220.      shows the speed of the 8250 and 8250A to be much the same.  The 8250A
  1221.      added an 8th register.  This additional register enables software to
  1222.      detect if an 8250 is installed.  The specifications state that 56kb is
  1223.      the maximum baud rate.
  1224.  
  1225.      16450
  1226.  
  1227.      The 16450 seems to be a speeded up version of the 8250A.  There is no
  1228.      direct way (that I know of) for software to detect the difference
  1229.      between an 8250A and a 16450.  I believe the 16450 was developed to
  1230.      eliminate the need for software to insert delays between successive
  1231.      accesses to the device.  The specifications indicate the 16450 is a
  1232.  
  1233.  
  1234.  
  1235.  
  1236.                                                                          27
  1237.  
  1238.      much faster device than its predecessors.  The additional speed is
  1239.      only the speed at which the processor can access the device.  The
  1240.      maximum baud rate for the 16450 is still stated at 56kb.  However, I
  1241.      have been told by some people that they have run the 16450
  1242.      successfully at much higher speeds. I do not believe there was ever a
  1243.      16450A.
  1244.  
  1245.      16C451
  1246.  
  1247.      The 16C451 is a CMOS version of the 16450.  CMOS is a term for the
  1248.      material and manufacturing process used to make the part.  CMOS
  1249.      typically uses less power than other technologies.  If you are not
  1250.      designing hardware, you should view the 16C451 as a 16450.
  1251.  
  1252.      16550 (Non A)
  1253.  
  1254.      It is hard to find a 16550 (Non A).  I was told by National
  1255.      Semiconductor that they did everything they could to get all 16550s
  1256.      back.  SIO will detect a 16550 and tell you if you have one.  I am
  1257.      told that the 16550 was installed in early PS/2 systems.
  1258.  
  1259.      The 16550 was the first shot at a FIFOed version of the 8250 family
  1260.      from National semiconductor.  However, I was told by National
  1261.      Semiconductor that the FIFOs of the 16550 are not reliable and they
  1262.      should not be enabled.  SIO will treat a 16550 like a 16450.  In this
  1263.      mode, they are reliable.  National Semiconductor would not provide me
  1264.      with a specification for the 16550.  However, I suspect its maximum
  1265.      baud rate is the same as the 16550A which is 256kb.
  1266.  
  1267.      16550A, 16550AF and 16550AFN
  1268.  
  1269.      In the manuals that I have, National Semiconductor does not explain
  1270.      the differences between the 16550A and the 16550AF.  I suspect the AF
  1271.      part may have a few bug fixes.  I believe the N in AFN describes
  1272.      packaging, ceramic versus plastic, DIP versus surface mount etc.
  1273.  
  1274.      In the opinion of the author, there is no substitute for the 16550A
  1275.      (and its successors) in the 8250 type series.  The 16550A is
  1276.      compatible with most software written for the entire family of 8250
  1277.      type devices.  Programs that are 16550A aware can provide much
  1278.      improved performance over previous devices.
  1279.  
  1280.  
  1281.      The maximum baud rate for the 16550A is specified at 256kb.  However,
  1282.      due to the hardware design of the PC et al, 115kb is the maximum baud
  1283.      rate that can be programmed by software.
  1284.  
  1285.      The 16550A can be plugged into the same socket that contains an 8250,
  1286.      8250A or 16450.  If your SIO expansion board has the SIO chips in
  1287.      sockets, you can upgrade to the 16550A by simply removing the old
  1288.      chips and replacing them with 16550As.
  1289.  
  1290.      The key to the performance increase of the 16550A is its FIFOs.  It
  1291.      has 16 byte FIFOs for both transmit and receive data.
  1292.  
  1293.  
  1294.  
  1295.  
  1296.                                                                          28
  1297.  
  1298.      16550s Made by Western Digital
  1299.  
  1300.      I have been told, but I have not verified for myself, that 16550s made
  1301.      by Western Digital have a problem with their FIFOs when working at
  1302.      2400 baud or below.
  1303.  
  1304.      16C551
  1305.  
  1306.      The 16C551 is a CMOS version of the 16550AF.  See the above
  1307.      description of the 16C451 for a discussion of CMOS.  Do not feel you
  1308.      need to upgrade from a 16550A or AF to a 16C551.  There is no gain
  1309.      from an existing users point of view.
  1310.  
  1311.      16C552
  1312.  
  1313.      The 16C552 is two 16C551s on a single chip.
  1314.  
  1315.      16C554
  1316.  
  1317.      The 16C554 is four 16C551s on a single chip.
  1318.  
  1319.      82510
  1320.  
  1321.      I believe Intel is the only company that manufactures the 82510.  The
  1322.      82510 is feature rich with several modes of operation.  Its default
  1323.      mode is to operate as a 16450.  The 82510 has a 4 byte FIFO for both
  1324.      transmit and receive data.  A 4 byte FIFO is sufficient to provide
  1325.      significant performance over a basic 16450.
  1326.  
  1327.      The 82510 is small in size.  Therefore, it is found in many lap tops.
  1328.  
  1329.      The 82510 is somewhat of a sleeper.  I believe it would be much more
  1330.      widely used if Intel had promoted it more.  However, given a choice
  1331.      between the 82510 and the 16550A, I would select the 16550A.
  1332.  
  1333.  
  1334.  
  1335.  
  1336.                                                                          29
  1337.  
  1338.  
  1339.      16650
  1340.  
  1341.      The 16650 by Startech seems a good logical step in the evolution of
  1342.      the 8250 type UARTs.  One of the many flavors of the 16650 is a
  1343.      package that is pin compatible with the 40 pin (DIP) 16550s.  This
  1344.      means that the 16650 can be placed into the same socket as any 16550,
  1345.      8250, etc.
  1346.  
  1347.      The 16650 has enhanced the FIFOs to 32 bytes, added on chip flow
  1348.      control ability, and increases the maximum bit rate to 460800.  The on
  1349.      chip flow control is a really nice feature.  On chip flow control
  1350.      practically eliminates the possibility of missed receive characters. 
  1351.      On chip flow control also means that some devices that require
  1352.      immediate attention when it sends Xoff, like the Seiko Label Printer,
  1353.      will work much better in environments like OS/2 and Windows.
  1354.  
  1355.      The 32 byte FIFOs of the 16650 is an improvement over the 16550, but
  1356.      is still a disappointment.  I feel that 1k, or larger, FIFOs would
  1357.      have been a much better choice.  When I quizzed Startech about this,
  1358.      they replied that the 32 byte FIFOs were chosen to keep the cost down. 
  1359.      They added that if the 16650 is successful, they plan a 16750 with
  1360.      larger FIFOs.
  1361.  
  1362.      The 16650 powers up in a 16550 compatible mode, meaning most software
  1363.      written for the 16550 should work.  I have discovered a serious
  1364.      incompatibility in the current (Oct 1994) versions of the 16650.  All
  1365.      previous UARTS in the 8250 family will issue only a single transmit
  1366.      interrupt if no additional data is sent to the UART.  The 16650 on the
  1367.      other hand, will issue continuous transmit interrupts making it
  1368.      necessary to mask the transmit interrupt.  I quizzed Startech about
  1369.      this and was told that a new revision of the chip would be available
  1370.      within a few months that would correct this incompatibility.
  1371.  
  1372.  
  1373.  
  1374.  
  1375.                                                                          30
  1376.  
  1377.  
  1378.      ComBic
  1379.  
  1380.      The ComBic is a very impressive UART used on the Hayes ESP card and
  1381.      some others.  The ComBic is basically a 16550 UART with on chip flow
  1382.      control and 1k FIFOs and a maximum bit rate of 921600.   Like the
  1383.      16650, on chip flow control practically eliminates the possibility of
  1384.      missed receive characters.  On chip flow control also means that some
  1385.      devices that require immediate attention when it sends Xoff, like the
  1386.      Seiko Label Printer, will work much better in environments like OS/2
  1387.      and Windows.
  1388.  
  1389.      The ComBic has two modes of operation, compatibility mode and enhanced
  1390.      mode.  In compatibility mode, the UART acts as a 16550.  However, when
  1391.      in compatibility mode, the 1k FIFOs and on chip flow control can still
  1392.      be used.  In enhanced mode, software gains the ability to look into
  1393.      the FIFOs and determine the exact number of bytes loaded.  This
  1394.      feature enables software the use block input and output to the ComBic
  1395.      which greatly reduces processor overhead.
  1396.  
  1397.  
  1398.  
  1399.  
  1400.                                                                          31
  1401.  
  1402.                      Appendix C, Multi-Port Serial I/0 Cards
  1403.  
  1404.      I have received many requests for information about multi-port serial
  1405.      I/O card.  I will describe the boards that I know about (or have heard
  1406.      about) here.  I will add to the list as I receive precise information
  1407.      from manufactures, users, or I develop it myself.
  1408.  
  1409.      Please do not contact me for support on the following boards, contact
  1410.      the manufacturer.  The following tells of my experiences with the
  1411.      boards and does not imply support.  Your experiences with a given
  1412.      board may be different.
  1413.  
  1414.  
  1415.      NOTE:     The Hayes ESP and Telcor Tport are described in the
  1416.                "Intelligent Cards Supported" section of this manual.
  1417.  
  1418.  
  1419.      STB 4COM  (ISA bus)
  1420.  
  1421.      I am very impressed with the STB 4COM card, they have almost got it. 
  1422.      Yes, its the same company that makes the VGA cards.  The 4COM card
  1423.      uses a 16554 which is the equivalent of four 16550A.  Comm ports can
  1424.      use IRQs 2/9, 3, 4, 5, 10, 11, 12, and 15.  Any or all ports can share
  1425.      IRQs, and they have done this right.  I tested SIO with all four ports
  1426.      of the 4COM on IRQ12 and they worked correctly.  The user can select
  1427.      any of the following I/O port address for a comm port: 3F8, 2F8, 3E8,
  1428.      2E8, 1A8, 1E8, 1F8, 2A8.
  1429.  
  1430.      The 4COM card is priced at $110 and I ordered mine from Prerapture
  1431.      Solutions which can be reached by telephone at 1-919-286-1502 for
  1432.      information and foreign callers.  In the US orders can be placed by
  1433.      calling 1-800-735-5266.  Their mailing address is:
  1434.           Prerapture Solutions
  1435.           1806 Albany St.
  1436.           Durham NC 27705-3135
  1437.  
  1438.      Connect Tech Dflex-8
  1439.  
  1440.      This is one of the most configure able communications cards that I
  1441.      have ever seen.  It has on board simms to configure the electrical
  1442.      characteristics (RS232, RS442 etc).  The board that I tested was
  1443.      configured for RS232 and has 8 Startech 16550 on it.  All 8 ports can
  1444.      be jumpered to the same IRQ and the IRQ sharing seems to work well
  1445.      with SIO and I detected no performance problems.
  1446.  
  1447.      I have no pricing information, the Dflex was supplied to me at no
  1448.      charge.  Connect Tech can be reached at 519-836-1291.  Their mailing
  1449.      address is:
  1450.  
  1451.      Connect Tech Inc.
  1452.      727 Speedvale Ave. West
  1453.      Guelph, Ontario, Canada
  1454.      N1K 1E6
  1455.  
  1456.  
  1457.  
  1458.  
  1459.                                                                          32
  1460.  
  1461.  
  1462.      Gtek BBS550 (ISA bus)
  1463.  
  1464.      The Gtek BBS550 is a communications card with the equivalent of 8
  1465.      16550s (in reality two 16554s) UARTs.  Where were these cards 5 years
  1466.      ago!  Like the STB 4COM, I am very impressed with the BBS550.  It has
  1467.      a wide range of selectable I/O port address, some in the 16 bit range
  1468.      (above 3FFh) which can be very useful.  I tested the board with all 8
  1469.      ports installed using IRQ3 (although I never had more than 3 ports
  1470.      active at the same time).  The board performed well using shared IRQs.
  1471.  
  1472.      The BBS550 has 8 RJ-45 connectors (10 pin), 6 of which comes directly
  1473.      off the back of the card.  The other two RJ-45 connectors are internal
  1474.      and special cables with grommets are supplier for these 2 ports.  The
  1475.      cables supplied with the BBS550 expands the RJ-45 out to standard DB-
  1476.      25 connectors.
  1477.  
  1478.      Gtek is located in St. Louis Mississippi.  Their phone number is 800-
  1479.      282-4835 or 601-467-8048.
  1480.  
  1481.      Neotech Quad Serial (MCA bus)
  1482.  
  1483.      Well, I just got my first PS/2 system (for testing of SIO) and I am
  1484.      using the NeoTech Quad Serial card in that system.  What can I say, it
  1485.      works beautifully and interrupt sharing has never been a problem on
  1486.      MCA systems.  This card (as shipped) came with four individual 16450
  1487.      chips installed, but they were in sockets so I installed 16550 UARTs
  1488.      before I installed the card.  The card has one large connector on the
  1489.      back of the card and the supplied cable expands that to 4 standard DB-
  1490.      25 connectors.  Those of you needing a good 4 port card for an MCA
  1491.      system contact:
  1492.  
  1493.           Neotech Inc
  1494.           30295 Solon Industrial Pkwy.
  1495.           Solon, Ohio 44139
  1496.  
  1497.           Voice     (216) 248-4114
  1498.           FAX       (216) 248-5701
  1499.  
  1500.  
  1501.  
  1502.  
  1503.                                                                          33
  1504.  
  1505.                                       INDEX
  1506.  
  1507.      16450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  1508.      16550 (Non A) . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  1509.      16550A  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  1510.      16550AF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  1511.      16550AFN  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  1512.      16550s Made by Western Digital  . . . . . . . . . . . . . . . . . . 28
  1513.      16650 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
  1514.      16C451  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  1515.      16C551  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
  1516.      16C552  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
  1517.      16C554  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
  1518.      8250  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  1519.      8250A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  1520.      82510 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
  1521.      Addresses and IRQ for COM3 through COM8 on the PS/2 . . . . . . . . 25
  1522.      Addresses and IRQs for COM1 and COM2  . . . . . . . . . . . . . . . 25
  1523.      Allow_Access_COMn . . . . . . . . . . . . . . . . . . . . . . . . . 12
  1524.      Appendix A, Hardware Notes  . . . . . . . . . . . . . . . . . . . . 25
  1525.      Appendix B, SIO Chips . . . . . . . . . . . . . . . . . . . . . . . 26
  1526.      Appendix C, Multi-Port Serial I/0 Cards . . . . . . . . . . . . . . 31
  1527.      AUTOMATIC IRQ ASSIGNMENT  . . . . . . . . . . . . . . . . . . . . . 11
  1528.      BBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1529.      ComBic  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
  1530.      COMn already in use . . . . . . . . . . . . . . . . . . . . . . . . 21
  1531.      CompuServe  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1532.      CONFIG.SYS  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  1533.      Connect Tech Dflex-8  . . . . . . . . . . . . . . . . . . . . . . . 31
  1534.      Defacto standard for COM3 and COM4  . . . . . . . . . . . . . . . . 25
  1535.      Development and Debugging Tools . . . . . . . . . . . . . . . . . .  8
  1536.      Differences between SIO/VSIO and COM/VCOM . . . . . . . . . . . . . 19
  1537.      Distribution  . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1538.      DOS SETTINGS  . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
  1539.      Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1540.      ESP in Compatibility Mode . . . . . . . . . . . . . . . . . . . . . 10
  1541.      Exclusive use . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
  1542.      FAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1543.      FAX Modems
  1544.           Class 1 FAX modem  . . . . . . . . . . . . . . . . . . . . . . 23
  1545.           Class 2 FAX modem  . . . . . . . . . . . . . . . . . . . . . . 23
  1546.      FaxWorks  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
  1547.      FIFO  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  1548.      FMD.SYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
  1549.      GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  1550.      Gtek BBS550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
  1551.      Hayes ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
  1552.      Installing SIO/VSIO . . . . . . . . . . . . . . . . . . . . . . . .  5
  1553.      Intellegent Cards Supported . . . . . . . . . . . . . . . . . . . . 10
  1554.      IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6, 11
  1555.      IRQ SHARING ON ISA  . . . . . . . . . . . . . . . . . . . . . . . . 24
  1556.      ISA buss  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
  1557.      MCA buss  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
  1558.      National Semiconductor Corporation  . . . . . . . . . . . . . . . . 26
  1559.      Neotech Quad Serial . . . . . . . . . . . . . . . . . . . . . . . . 32
  1560.  
  1561.  
  1562.  
  1563.  
  1564.                                                                          34
  1565.  
  1566.      Ordering  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1567.      OS2BVEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1568.      PCMCIA  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
  1569.      PDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  1570.      Physical Device Driver  . . . . . . . . . . . . . . . . . . . . . .  2
  1571.      PKUNZIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  1572.           Authentic files  . . . . . . . . . . . . . . . . . . . . . . .  5
  1573.      PMLM.EXE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
  1574.      PROBLEMS AND SOLUTIONS  . . . . . . . . . . . . . . . . . . . . . . 21
  1575.      Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  1576.      RTS/CTS handshaking . . . . . . . . . . . . . . . . . . . . . . . .  2
  1577.      Seiko Smart Label Printer . . . . . . . . . . . . . . . . . 15, 17, 18
  1578.      Serial Printer  . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  1579.      SIO Chips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  1580.      SIO Technical Reference Manual  . . . . . . . . . . . . . . . . . .  i
  1581.      SIO's Utility (SU.EXE)  . . . . . . . . . . . . . . . . . . . . . .  9
  1582.      SIO_Mode_DTR  . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
  1583.      SIO_Mode_FIFO_Load_Count  . . . . . . . . . . . . . . . . . . . . . 17
  1584.      SIO_Mode_IDSR . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
  1585.      SIO_Mode_OCTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  1586.      SIO_Mode_ODSR . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  1587.      SIO_Mode_RTS  . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  1588.      SIO_Mode_XON/XOFF . . . . . . . . . . . . . . . . . . . . . . . . . 16
  1589.      SIO_Screen_Sync_Kludge  . . . . . . . . . . . . . . . . . . . . . . 13
  1590.      SIO_Share_Access_With_OS/2  . . . . . . . . . . . . . . . . . . . . 12
  1591.      SLIP  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
  1592.      STB 4COM  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
  1593.      Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  1594.      Telcor Tport  . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
  1595.      UART  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  1596.      Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
  1597.      VDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  1598.      VIEWPMLM.EXE  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
  1599.      Virtual Device Driver . . . . . . . . . . . . . . . . . . . . . . .  2
  1600.      Virtualize_16550A_For_COM . . . . . . . . . . . . . . . . . . . . . 12
  1601.      Virtualize_COM_Ports  . . . . . . . . . . . . . . . . . . . . . . . 12
  1602.      WHAT IS SIO . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
  1603.      WHAT IS VSIO  . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  1604.      WinFax  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 23
  1605.